package com.pe.pgn.clubpgn.domain;

import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.springframework.format.annotation.DateTimeFormat;

import com.pe.pgn.clubpgn.model.BaseObject;

@Entity
@Table(name = "clpm_sincronizacion_flota")
public class ClpmSincronizacionFlota extends BaseObject{

	private static final long serialVersionUID = 1L;
	private Long id;
	private String dePlaca;
	private String coCodigoTarjetaEmpresa;
	private String coClienteEmpresa;
	private String stIndicadorDespacho;
	private String coCodigoCofide;
	protected Calendar daFechaSincronizacion;
	
	@Id
    @Column(name="id")
    @SequenceGenerator(name="seqsincronizacionflota", sequenceName="seq_sincronizacion_flota")
    @GeneratedValue(generator="seqsincronizacionflota")   
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	
	@Column(name = "de_placa", nullable = false, length = 100)
	public String getDePlaca() {
		return dePlaca;
	}
	public void setDePlaca(String dePlaca) {
		this.dePlaca = dePlaca;
	}

	@Column(name = "co_codigo_tarjeta_empresa", nullable = false, length = 100)
	public String getCoCodigoTarjetaEmpresa() {
		return coCodigoTarjetaEmpresa;
	}
	public void setCoCodigoTarjetaEmpresa(String coCodigoTarjetaEmpresa) {
		this.coCodigoTarjetaEmpresa = coCodigoTarjetaEmpresa;
	}
	
	@Column(name = "co_cliente_empresa", nullable = false, length = 100)
	public String getCoClienteEmpresa() {
		return coClienteEmpresa;
	}
	public void setCoClienteEmpresa(String coClienteEmpresa) {
		this.coClienteEmpresa = coClienteEmpresa;
	}
	
	@Column(name = "st_indicador_despacho", nullable = false, length = 20)
	public String getStIndicadorDespacho() {
		return stIndicadorDespacho;
	}
	public void setStIndicadorDespacho(String stIndicadorDespacho) {
		this.stIndicadorDespacho = stIndicadorDespacho;
	}
	
	@Column(name = "co_codigo_cofide", nullable = true, length = 100)
	public String getCoCodigoCofide() {
		return coCodigoCofide;
	}
	public void setCoCodigoCofide(String coCodigoCofide) {
		this.coCodigoCofide = coCodigoCofide;
	}
	
	@Column(name = "da_fecha_sincronizacion", nullable = false)
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "S-")
	public Calendar getDaFechaSincronizacion() {
		return daFechaSincronizacion;
	}
	public void setDaFechaSincronizacion(Calendar daFechaSincronizacion) {
		this.daFechaSincronizacion = daFechaSincronizacion;
	}
	
	@Override
	public String toString() {
		return "[id="+ this.id + ",dePlaca="+ this.dePlaca 
		+ ",coCodigoTarjetaEmpresa="+ this.coCodigoTarjetaEmpresa
		+ ",coClienteEmpresa="+ this.coClienteEmpresa
		+ ",stIndicadorDespacho="+ this.stIndicadorDespacho
		+ ",coCodigoCofide="+ this.coCodigoCofide 
		+ ",daFechaSincronizacion="+ this.daFechaSincronizacion + "]";
	}
	
	@Override
	public boolean equals(Object o) {
		return false;
	}
	
	@Override
	public int hashCode() {
		return 0;
	}	
}
